import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
// import app from './modules/app'
// import settings from './modules/settings'
// import user from './modules/user'

Vue.use(Vuex)
// 文件路径,是否递归获取../,正则匹配需要加载的文件类型
const req = require.context('./modules', false, /\.js$/)
// 获取文件名 剥壳
const mName = req.keys().map(item => item.split('./')[1]).map(item => item.split('.js')[0])
// 获取模块对象
const mMdoule = req.key().map(req)
const obj = {}
// 遍历数组对象,获取文件名作为key,值是对应的模块对象,拼接成key:value的对象
mName.forEach((item, index) => {
  obj[item] = mMdoule[index].default
})
const store = new Vuex.Store({
  modules: obj, //  {
  //   app,
  //   settings,
  //   user
  // }

  getters
})

export default store
